package me.jessyan.armscomponent.app.di.component;

import com.jess.arms.di.component.AppComponent;
import com.jess.arms.di.scope.FragmentScope;

import dagger.BindsInstance;
import dagger.Component;
import me.jessyan.armscomponent.app.di.module.MineHomeModule;
import me.jessyan.armscomponent.app.mvp.contract.mine.MineHomeContract;
import me.jessyan.armscomponent.app.mvp.ui.fragment.MineHomeFragment;


/**
 * <p>
 * Author: Taozebi
 * Date: 08/16/2021 21:35
 * Description: describe of this class
 */
@FragmentScope
@Component(modules = MineHomeModule.class, dependencies = AppComponent.class)
public interface MineHomeComponent {
    void inject(MineHomeFragment fragment);

    @Component.Builder
    interface Builder {
        @BindsInstance
        MineHomeComponent.Builder view(MineHomeContract.View view);

        MineHomeComponent.Builder appComponent(AppComponent appComponent);

        MineHomeComponent build();
    }
}